﻿using System;
using System.Collections.Generic;
using Persistencia;
using SearchServer.AppManager;

namespace SearchServer.UI
{
    public partial class MantenimientoVideosInstitucionales : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            mensajeError.Text = "";
            Usuario user = (Usuario)Session["Usuario_SIT"];
            if (user != null && Utilidades.Utilidades.ValidarUsuarioSesion(user))
            {
                BarraNavegacion.Text = Utilidades.Utilidades.CargarLinksVentana(user);
                if (Request.Form["hdnOperacion"] != null && Request.Form["hdnOperacion"] == "EliminarVideo")
                {
                    if (Request.Form["hdnIdVideo"] != null)
                    {
                        int idVideo = Convert.ToInt32(Request.Form["hdnIdVideo"]);
                        VideoManager videoMgr = VideoManager.GetInstancia();
                        try
                        {
                            videoMgr.EliminarVideo(idVideo,user.Id);
                            mensajeError.Text = @"El video ha sido eliminado exitosamente";
                        }
                        catch (Exception)
                        {
                            mensajeError.Text = @"Hubo un error al eliminar el archivo";
                        }
                    }
                }
                if (Request.Form["hdnOperacion"] != null && Request.Form["hdnOperacion"] == "ActivarVideo")
                {
                    if (Request.Form["hdnIdVideo"] != null)
                    {
                        int idVideo = Convert.ToInt32(Request.Form["hdnIdVideo"]);
                        VideoManager videoMgr = VideoManager.GetInstancia();
                        try
                        {
                            videoMgr.ActivarVideo(idVideo, user.Id);
                            mensajeError.Text = @"El video ha sido activado exitosamente";
                        }
                        catch (Exception)
                        {
                            mensajeError.Text = @"Hubo un error al eliminar el archivo";
                        }
                    }
                }
                CargarGrillaVideosInstitucionales();
            }
            else
            {
                Response.Redirect("Login.aspx", false);
            }
        }

        private void CargarGrillaVideosInstitucionales()
        {
            VideoManager videoMgr = VideoManager.GetInstancia();
            List<VideoInstitucional> resultado = videoMgr.ObtenerVideos();
            tablaResultados.Text = "";
            //Cabezal de la tabla
            tablaResultados.Text += @"<tr>";
            tablaResultados.Text += @"<td class='gridHeader' style='text-align: center;width: 20%'>";
            tablaResultados.Text += @"Nombre";
            tablaResultados.Text += @"</td>";
            tablaResultados.Text += @"<td class='gridHeader' style='text-align: center;width: 50%;'>";
            tablaResultados.Text += @"Path";
            tablaResultados.Text += @"</td>";
            tablaResultados.Text += @"<td class='gridHeader' style='text-align: center;width: 20%;'>";
            tablaResultados.Text += @"Fecha";
            tablaResultados.Text += @"</td>";
            tablaResultados.Text += @"<td class='gridHeader' style='text-align: center;width: 5%'>";
            tablaResultados.Text += @"Activo";
            tablaResultados.Text += @"</td>";
            tablaResultados.Text += @"<td class='gridHeader' style='text-align: center;width: 5%'>";
            tablaResultados.Text += @"</td>";
            tablaResultados.Text += @"</tr>";
            //Fila para cada Distribucion
            int numero = 0;
            foreach (VideoInstitucional videoInstitucional in resultado)
            {
                if (numero % 2 == 0)
                {
                    //PAR
                    tablaResultados.Text += @"<tr class='gridItem'>";
                }
                else
                {
                    //IMPAR
                    tablaResultados.Text += @"<tr class='gridAlternatingItem'>";
                }
                tablaResultados.Text += @"<td style='text-align:left; padding-left:5px;'>";
                tablaResultados.Text += videoInstitucional.Nombre;
                tablaResultados.Text += @"</td>";
                tablaResultados.Text += @"<td>";
                tablaResultados.Text += videoInstitucional.Path;
                tablaResultados.Text += @"</td>";
                tablaResultados.Text += @"<td>";
                tablaResultados.Text += videoInstitucional.Fecha_Creacion.ToString();
                tablaResultados.Text += @"</td>";
                tablaResultados.Text += @"<td valign='middle'>";
                if (videoInstitucional.Activo)
                {
                    tablaResultados.Text += @"<img src='Imagenes/check_box.png' style='background-color:transparent;' title='Activo' alt='Activo'/>";
                    tablaResultados.Text += @"</td>";
                    tablaResultados.Text += @"<td valign='middle'>";
                    tablaResultados.Text += @"<img id='btnEliminar_" + videoInstitucional.Id + @"' src='Imagenes/btnEliminar.png' onclick='EliminarVideo(this)' style='cursor: pointer; background-color:transparent;' title='Eliminar' alt='Eliminar'/>";
                }
                else
                {
                    tablaResultados.Text += @"<img src='Imagenes/uncheck_box.png' style='background-color:transparent;' title='Inactivo' alt='Inactivo'/>";
                    tablaResultados.Text += @"</td>";
                    tablaResultados.Text += @"<td valign='middle'>";
                    tablaResultados.Text += @"<img id='btnActivar_" + videoInstitucional.Id + @"' src='Imagenes/btnAdd.png' onclick='ActivarVideo(this)' style='cursor: pointer; background-color:transparent;' title='Activar' alt='Activar'/>";
                }
                tablaResultados.Text += @"</td>";
                tablaResultados.Text += @"</tr>";
                numero += 1;
            }
        }

    }
}